package com.clwl.supervise.superviseapp.entity.customer;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
    * 智能客服问题及回答表
    */
@Data
@TableName(value = "TS_CUSTOMER_SERVICE")
//@KeySequence(value = "TS_CUSTOMER_SERVICE_SEQ")
public class TsCustomerService implements Serializable {


    @TableId(value = "ID", type = IdType.AUTO)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    @JsonIgnore
    @TableField(value = "DELETE_FLAG")
    private String deleteFlag;

    @JsonIgnore
    @TableField(value = "CREATE_TIME")
    private Date createTime;

    /**
     * 问题摘要内容
     */
    @TableField(value = "PROBLEM_ABSTRACT")
    private String problemAbstract;

    /**
     * 问题答案
     */
    @TableField(value = "PROBLEM_RESULT")
    private String problemResult;

    /**
     * 问题关键字;多个关键字使用;号相隔
     */
    @JsonIgnore
    @TableField(value = "KEYWORDS")
    private String keywords;

    /**
     * 问题询问次数,用来推送猜你想问内容
     */
    @JsonIgnore
    @TableField(value = "SEND_COUNT")
    private Long sendCount;


    /**
     * 问题表
     */
    @TableField(exist = false)
    private String problemTable;

    /**
     * 问题的id
     */
    @TableField(exist = false)
    private String tableId;

    /**
     * 详情查看方式 text/page
     */
    @TableField(exist = false)
    private String detailType;

    /**
     * 页面发送过来的消息
     */
    @TableField(exist = false)
    private String sendMessage;

    /**
     * 问题的返回标题字段名
     */
    @TableField(exist = false)
    private String returnTitleName;

    /**
     * 问题的返回内容字段名
     */
    @TableField(exist = false)
    private String returnContentName;


    /**
     * 消息解析类型;0-正常查询大数据库流程解析 ；1-使用lengchain chat解析
     */
    @TableField(exist = false)
    private String type;





    @TableField(exist = false )
    private List<String> knowledgeBaseList = new ArrayList<>();

    private static final long serialVersionUID = 1L;
}
